package entidades;

import java.util.List;

/**
 *
 * @author RENZO
 */
public interface IEntidad {

    /* 
       Se encargara de realizar un insert o update dependiendo si
       posee o no id, la entidad del objeto desde donde se lo llame 
     */
    public Boolean save();
    
    /*
     Se encargara de traer la instancia del objeto desde donde se le llame, especificando un id
     */
    public Object getEntity(long id) throws Exception;
    
    /* 
     En este se especifica adicionalmente con que otros objetos se desea incluir la entidad del objeto deseado
     */
    public Object getEntity(long id,List<JoinObject> joinObjects) throws Exception;
    
    /*
     Obtiene todas las instancias del objeto desde donde es llamado el metodo
     */
    public List<Object> getAll() throws Exception;
    
    /* 
     En este se especifica adicionalmente con que otros objetos se desea incluir la entidad de cada uno de los objetos que seran listados
     */
    public List<Object> getAll(List<JoinObject> joinObjects) throws Exception;
}
